<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>watch属性</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="ap">
        千米：<input type="text" v-model="kilometer">
        米：<input type="text" v-model="meter">
    </div>
    <p id="info"></p>
</body>
<script>
    var app = new Vue({
        el:'#ap',
        data:{
            kilometer:0,
            meter:0
        },
        computed:{
        },
        // watch 对象创建了两个方法 kilometer 和 meter
        // 当我们在输入框输入数据时，watch 会实时监听数据变化并改变自身的值
        watch:{
            kilometer: function(val){
                this.kilometer = val;
                this.meter = val * 1000;
            },
            meter: function(val){
                this.meter = val;
                this.kilometer = val/ 1000;
            
            }
        }
    })
    // watch是一个实例方法
    app.$watch('kilometer', function(newvalue,oldvalue){
        // 这个方法会在app.kilometer回调后使用
        document.getElementById("info").innerHTML ="这个值从" + oldvalue + "变成" + newvalue
    })
</script>
</html>